package beans;

import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.NamedQuery;
import javax.persistence.Table;

import br.com.sigcoap.interfaces.IBaseEntity;


/**
 * The persistent class for the tb_curso database table.
 * 
 */
@Entity
@Table(name="tb_curso")
@NamedQuery(name="Curso.findAll", query="SELECT c FROM Curso c")
public class Curso implements IBaseEntity<Long> {
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="id_curso")
	private Long idCurso;

	private int nr_quantSemestres;

	private String tx_nomeCoord;

	private String tx_nomeCurso;

	//bi-directional many-to-many association to Disciplina
	@ManyToMany
	@JoinTable(
		name="tb_disciplina_curso"
		, joinColumns={
			@JoinColumn(name="id_curso")
			}
		, inverseJoinColumns={
			@JoinColumn(name="id_disciplina")
			}
		)
	private List<Disciplina> tbDisciplinas;

	public Curso() {
	}

	public Long getIdCurso() {
		return this.idCurso;
	}

	public void setIdCurso(Long idCurso) {
		this.idCurso = idCurso;
	}

	public int getNr_quantSemestres() {
		return this.nr_quantSemestres;
	}

	public void setNr_quantSemestres(int nr_quantSemestres) {
		this.nr_quantSemestres = nr_quantSemestres;
	}

	public String getTx_nomeCoord() {
		return this.tx_nomeCoord;
	}

	public void setTx_nomeCoord(String tx_nomeCoord) {
		this.tx_nomeCoord = tx_nomeCoord;
	}

	public String getTx_nomeCurso() {
		return this.tx_nomeCurso;
	}

	public void setTx_nomeCurso(String tx_nomeCurso) {
		this.tx_nomeCurso = tx_nomeCurso;
	}

	public List<Disciplina> getTbDisciplinas() {
		return this.tbDisciplinas;
	}

	public void setTbDisciplinas(List<Disciplina> tbDisciplinas) {
		this.tbDisciplinas = tbDisciplinas;
	}

	@Override
	public Long getId() {
		return this.idCurso;
	}

}